In a 3rd Generation mobile communication system (e.g. 3G WCDMA system) of Release 4 or a later release, a Mobile Switching Center (MSC) in a Circuit Switched (CS) domain is divided into two network elements: MSC server and Media GateWay (MGW). In the Legacy MS Domain (LMSD) of CDMA2000 system, the MSC is also divided into two network elements: Mobile Switching Center Emulation (MSCE) and MGW. In a Next Generation Network (NGN) system, a conventional switch is also divided into two network elements: Media Gateway Control Function (MGCF) and MGW.
The MSC server, the MGCF and the MSCE obtained by division are mainly applied to perform functions of call control layer, and the MGW is mainly applied to perform functions of media processing and bearer processing. Soft switch devices including the MSC server, the MGCF and the MSCE usually adopt H.248 protocol or Media Gateway Control Protocol (MGCP) to control the MGW. The basic principle of the H.248 protocol and the MGCP is to implement communications between terminations by describing connections between the terminations in the context (i.e. describing topologies between the terminations). In Customized Application 4 for Mobile network Enhanced Logic (CAMEL4) standard, the standard model is required to support an announcement for a session, i.e. it should be guaranteed that all parties in the session can hear the announcement, or several users in the session can hear the announcement at the same time or different user groups in the session can hear different announcements. The session is usually defined based on a service layer while the context is usually defined based on an H.248 protocol layer or MGCP layer. One session may use multiple contexts, but usually a general session uses only one context.
In a device adopting the H.248 protocol or the MGCP, a conventional method in CAMEL4 for an announcement for a session is described below.
A service termination is chosen from a context of a session and the service termination is required to be able to play an announcement internally and externally at the same time. “Internally” and “externally” refer to the internal area and external area of the context respectively, the announcement is performed by setting an announcement signal in the termination and the usages of the announcement signal may refer to signal definitions and requirements in the H.248 protocol and the MGCP. FIG. 1 is a schematic diagram illustrating a topology descriptor for termination T1 playing an announcement for a session in a context of the session.
As shown in FIG. 1, in the context C1, there are three terminations T1, T2 and T3 involved in a session at the same time, and the three terminations are connected with corresponding users or devices. The terminations T1 and T2 are connected with a bothway topology descriptor (shown as a double arrowed line, topology descriptor (T1, T2, bothway) means that the Termination T2 receives media from the Termination T1, and vice versa); the terminations T1 and T3 are connected with a oneway topology descriptor (shown as a single arrowed line, topology descriptor (T1, T3, oneway) means that the Termination T3 receives media from the Terminations T1, but not vice versa); and the terminations T2 and T3 are topologically isolated (topology descriptor (T2, T3, isolated) means that the Termination T2 does not receive media from the Termination T1, nor vice versa), i.e. there is no arrowed line as shown in FIG. 1). If external users or devices connected to the terminations T1, T2 and T3 respectively are required to hear an announcement for the session at the same time (e.g. system broadcast, background music, etc.), the termination T1 should be chosen for the context C1 to play an announcement for the session internally and externally (i.e. an announcement signal should be set at T1). Thereby, users or devices connected to the terminations (including the terminations T2 and T3) connected with the termination T1 within the context C1 can hear the announcement, and the external users (or devices) connected to the termination T1 can also hear the announcement at the same time. The T1/T2/T3 which are not dedicated terminations to play announcement in the context C1 and they are usually called service terminations and T1 temporarily acts as a playing announcement.
However, as can be seen from FIG. 1, if the termination T1 is deleted or removed from the context C1 during the announcement because of service demands, e.g. in the case that the termination T1 hooks up or T1 and T2 are topologically isolated before the session corresponding to the context C1 is terminated, users connected to terminations T2 and T3 will not hear complete announcement though the announcement of termination T1 for the context C1 is not completed yet. Furthermore, if another termination (e.g. the termination T2 or T3) is chosen to play an announcement in such a case, there may be the following problems.
Firstly, the H.248 protocol and the MGCP only support the announcement by a termination within the context, but do not support the function of recording a stopping point where the termination stops the announcement. In other words, if the announcement of a termination is interrupted in normal condition, the H.248 protocol or the MGCP can not exactly learn how long the termination has played the announcement, as a result, when another termination in the same context is chosen to play the announcement, the announcement cannot be resumed from the stopping point of the previous termination. Therefore, it is difficult for users or devices connected to various terminations to hear complete announcement continuously and the announcement for the session can not be synchronized.
Secondly, it may be difficult to select another termination that is topologically connected to all the other terminations in the same context. As shown in FIG. 1, if the termination T1 is deleted (for example, suddenly shut down by a user), or removed, or modified to have different topology descriptors before the announcement is completed, there is no another termination topologically connected to all the other terminations in the context C1 because the termination T2 is connected to the termination T1 with a bothway topology descriptor. The termination T3 is connected to the termination T1 with a oneway topology descriptor and is isolated from the termination T2. Therefore, if T1 is deleted or removed from the context C1, it is impossible to choose another termination (either T2 or T3) in the context C1 to make both the terminations T2 and T3 hear the resumed announcement (because no another termination is connected to both T2 and T3). Therefore, the terminations T2 and T3 have to play an announcement separately. However, the announcement can not be resumed from the playing point where T1 is interrupted, and the announcements heard by T2 and T3 are not synchronized.